A common problem when connecting networks is that of ensuring messages from one network are correctly routed to a destination on the other network. A particular example of this is in the connection of networks using Internet Protocol (IP) to the existing telephone switched circuit network (PSTN). The infrastructure uses very different technologies and protocol: for example a PSTN uses the SS7 protocol, and it is desirable to provide PSTN signalling over an IP network reliably.
An approach to providing a reliable connection between IP and SS7 networks has been proposed by the Internet Engineering Task Force (IETF). This includes M3UA, which is a protocol for the transport of any MTP3—user signalling over IP and SUA which defines the protocol for the transport of any SCCP user signalling over IP. Two main entities are defined: the signalling gateway (“SG”), which is the connection point between the SS7 and IP networks, and the application server (AS) which is the software application provided on the IP network which it is desired to make available over the SS7 network. The protocols may be used to connect SS7-based signalling end points (SEP) with an IP based AS thus allowing SS7 networks to access IP based applications.
A function performed by the signalling gateway is to receive SS7 signalling messages and direct them to the appropriate AS. To do so, the SG identifies a routing key (RK) defined by the M3UA or SUA protocol, which uniquely identifies the AS in accordance with parameters in the SS7 message. In general, the RK parameters are found in the header of the SS7 message. However, it may be desirable to take into account other elements of the message, such as a SMS originating number or even some aspect of the message content, in order to direct the message to the appropriate AS.
Conventionally, the parameters of the SS7 message are compared with those of registered or configured RK's until an RK is found that matches them. The RK provisioning generally comprises a database which contains all of valid routing keys and the matching message parameters. To match a received message with a routing key, the interpreter has to go through the RK database and find one which matches the parameters of the incoming SS7 message. This is potentially very complex if higher protocol layers or an unusual set of parameters have to be taken into account, and as such the interpreter must be able to deal with any allowed set of routing keys because the routing key provision is not known in advance. The interpreter cannot therefore be optimized for any given set of provisioned RK's, leading to an unacceptable issues such as delays when identifying the relevant routing key. This is particularly the case where the message comprises “wild card” or parameters which can take any value and so the interpreter must search through a number of combinations of possible routing keys.
An aim of the invention is to reduce or overcome the above problem.